home *** CD-ROM | disk | FTP | other *** search
/ Game.EXE 2001 January / Game.EXE_01_2001.iso / demos / Blade of Darkness / data1.cab / Program_Executable_Files / Lib / NetMisc.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2000-11-16  |  13.5 KB  |  405 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 1.5)
  3.  
  4.  
  5. try:
  6.     execfile('../../Config/NetCfg.py')
  7. except:
  8.     TCP = 1
  9.     CHARTYPE = 'Knight'
  10.     MODEL = 0
  11.     HANDICAP = 4
  12.     PLAYERNAME = 'BLADE'
  13.     ARENANAME = 'ARENA'
  14.     ARENAHANDICAP = 4
  15.     POWERUPS = 1
  16.     MAXPLAYERS = 5
  17.     SELMAPS = []
  18.     ACTUALMAP = 0
  19.     IP = ''
  20.     FRAGLIMIT = 6
  21.     NETPPS = 0
  22.  
  23. import netwidgets
  24. import MenuText
  25. import MenuWidget
  26. import netgame
  27. import Bladex
  28. import string
  29. import os
  30. Caracteres = {
  31.     'Knight': [
  32.         0,
  33.         'Knight_N',
  34.         'Knight_N',
  35.         'KgtSkin1',
  36.         'KgtSkin2'],
  37.     'Barbarian': [
  38.         1,
  39.         'Barbarian_N',
  40.         'Barbarian_N',
  41.         'BarSkin1',
  42.         'BarSkin2'],
  43.     'Dwarf': [
  44.         2,
  45.         'Dwarf_N',
  46.         'Dwarf_N',
  47.         'DwfSkin1',
  48.         'DwfSkin2'],
  49.     'Amazon': [
  50.         3,
  51.         'Amazon_N',
  52.         'Amazon_N',
  53.         'AmzSkin1',
  54.         'AmzSkin2'] }
  55. CharBitmaps = (('Knight_N', '../../Data/net/Knight_N.BMP'), ('KgtSkin1', '../../Data/net/KgtSkin1.BMP'), ('KgtSkin2', '../../Data/net/KgtSkin2.BMP'), ('Barbarian_N', '../../Data/net/Barbarian.BMP'), ('BarSkin1', '../../Data/net/BarSkin1.BMP'), ('BarSkin2', '../../Data/net/BarSkin2.BMP'), ('Dwarf_N', '../../Data/net/Dwarf_N.BMP'), ('DwfSkin1', '../../Data/net/DwfSkin1.BMP'), ('DwfSkin2', '../../Data/net/DwfSkin2.BMP'), ('Amazon_N', '../../Data/net/Amazon_L.BMP'), ('AmzSkin1', '../../Data/net/AmzSkin1.BMP'), ('AmzSkin2', '../../Data/net/AmzSkin2.BMP'))
  56. MapsBitmaps = []
  57.  
  58. def ActualizeMapsBitmaps():
  59.     while len(MapsBitmaps) != 0:
  60.         MapsBitmaps.remove(MapsBitmaps[0])
  61.     dirlist = os.listdir('..')
  62.     for dirname in dirlist:
  63.         
  64.         try:
  65.             f = open('../' + dirname + '/Server.py')
  66.         except:
  67.             0
  68.             dirlist
  69.             continue
  70.  
  71.         print dirname
  72.         cadena = f.readline()
  73.         f.close()
  74.         if cadena[0] == '#':
  75.             cadena = string.strip(cadena[1:len(cadena) - 1])
  76.         else:
  77.             cadena = dirname
  78.         
  79.         try:
  80.             escrinchot = '../' + dirname + '/shoot.bmp'
  81.             f = open(escrinchot)
  82.             f.close()
  83.         except:
  84.             escrinchot = '../../Data/net/Logo.BMP'
  85.  
  86.         MapsBitmaps.append(escrinchot, cadena, dirname)
  87.     
  88.     return MapsBitmaps
  89.  
  90.  
  91. def SetPPS(option):
  92.     global NETPPS, NETPPS
  93.     if option == 'Variable':
  94.         NETPPS = 0
  95.     else:
  96.         NETPPS = string.atoi(option)
  97.  
  98.  
  99. def GetPPS():
  100.     return int(NETPPS / 10)
  101.  
  102.  
  103. def SetProtocol(option):
  104.     global TCP, TCP
  105.     if option == 'TCP/IP (Internet)':
  106.         TCP = 1
  107.     else:
  108.         TCP = 0
  109.  
  110.  
  111. def GetProtocol():
  112.     if TCP:
  113.         return 1
  114.     else:
  115.         return 0
  116.  
  117.  
  118. def SetCharType(option):
  119.     global CHARTYPE, MODEL
  120.     CHARTYPE = option
  121.     MODEL = 0
  122.     netwidgets.ChangePlayer(Caracteres[CHARTYPE][MODEL + 2])
  123.  
  124.  
  125. def GetCharType():
  126.     return Caracteres[CHARTYPE][0]
  127.  
  128.  
  129. def SetHandicap(option):
  130.     global HANDICAP
  131.     HANDICAP = option
  132.  
  133.  
  134. def GetHandicap():
  135.     return HANDICAP
  136.  
  137.  
  138. def NextSkin(menu_class):
  139.     global MODEL, MODEL
  140.     size = len(Caracteres[CHARTYPE]) - 2
  141.     MODEL = MODEL + 1
  142.     if MODEL >= size:
  143.         MODEL = 0
  144.     
  145.     netwidgets.ChangePlayer(Caracteres[CHARTYPE][MODEL + 2])
  146.  
  147.  
  148. def SetPowerUp(option):
  149.     global POWERUPS, POWERUPS
  150.     if option == 'Yes':
  151.         POWERUPS = 0
  152.     else:
  153.         POWERUPS = 1
  154.  
  155.  
  156. def GetPowerUp():
  157.     return POWERUPS
  158.  
  159.  
  160. def SetMaxPlayers(option):
  161.     global MAXPLAYERS
  162.     MAXPLAYERS = option
  163.  
  164.  
  165. def GetMaxPlayers():
  166.     return MAXPLAYERS
  167.  
  168.  
  169. def SetArenaHandicap(option):
  170.     global ARENAHANDICAP
  171.     ARENAHANDICAP = option
  172.  
  173.  
  174. def GetArenaHandicap():
  175.     return ARENAHANDICAP
  176.  
  177.  
  178. def SetArenaMaps(option):
  179.     global SELMAPS
  180.     SELMAPS = option
  181.  
  182.  
  183. def GetArenaMaps():
  184.     return SELMAPS
  185.  
  186.  
  187. def GetCharStatus():
  188.     return Caracteres[CHARTYPE][MODEL + 2]
  189.  
  190.  
  191. def GetArenaName():
  192.     return ARENANAME
  193.  
  194.  
  195. def GetPlayerName():
  196.     return PLAYERNAME
  197.  
  198.  
  199. def GetIp():
  200.     if TCP:
  201.         return IP
  202.     else:
  203.         return 'LOCAL'
  204.  
  205.  
  206. def SetArenaName(n):
  207.     global ARENANAME
  208.     ARENANAME = n
  209.  
  210.  
  211. def SetPlayerName(n):
  212.     global PLAYERNAME
  213.     PLAYERNAME = n
  214.  
  215.  
  216. def SetIp(n):
  217.     global IP
  218.     if TCP:
  219.         IP = n
  220.     
  221.  
  222.  
  223. def IpLooked():
  224.     return not TCP
  225.  
  226.  
  227. def SetFragLimit(option):
  228.     global FRAGLIMIT
  229.     FRAGLIMIT = option
  230.  
  231.  
  232. def GetFragLimit():
  233.     return FRAGLIMIT
  234.  
  235.  
  236. def JoinFunc(Name, NumPlayers, MaxPlayers, Idx):
  237.     netgame.SetPPS(0)
  238.     print Name, NumPlayers, MaxPlayers, Idx, 'Loading...'
  239.     SaveConfiguration()
  240.     netgame.JoinSession(Idx, PLAYERNAME)
  241.     Bladex.LoadLevel(SELMAPS[0])
  242.  
  243.  
  244. def RefreshFunc(Name, NumPlayers, MaxPlayers, Idx):
  245.     BrowseServers(0)
  246.  
  247.  
  248. def NullFunc(Name, NumPlayers, MaxPlayers, Idx):
  249.     pass
  250.  
  251.  
  252. def BrowseServers(menu_class):
  253.     print 'searching...'
  254.     lista = []
  255.     netgame.RestartNet()
  256.     if TCP:
  257.         netgame.BrowseSessions(IP)
  258.     else:
  259.         netgame.BrowseSessions('[ipx]')
  260.     i = 0
  261.     Srv = netgame.GetBrowseResult(i)
  262.     while Srv != None:
  263.         lista.append({
  264.             'Name': Srv[0],
  265.             'NumPlayers': Srv[1],
  266.             'MaxPlayers': Srv[2],
  267.             'Idx': i,
  268.             'Join': JoinFunc,
  269.             'Kind': netwidgets.B_ServerLabel })
  270.         i = i + 1
  271.         Srv = netgame.GetBrowseResult(i)
  272.     if len(lista) >= 1:
  273.         lista.append({
  274.             'Name': MenuText.GetMenuText('< REFRESH >'),
  275.             'NumPlayers': 0,
  276.             'MaxPlayers': 0,
  277.             'Idx': 0,
  278.             'Join': RefreshFunc,
  279.             'Kind': netwidgets.B_ServerLabel })
  280.     else:
  281.         lista.append({
  282.             'Name': MenuText.GetMenuText('< No server found >'),
  283.             'NumPlayers': 0,
  284.             'MaxPlayers': 0,
  285.             'Idx': 0,
  286.             'Join': NullFunc,
  287.             'Kind': netwidgets.B_ServerLabel })
  288.     netwidgets.LaListaDeServidores.SetList(lista)
  289.     if len(lista) >= 1:
  290.         import Menu
  291.         Menu._MainMenu.MenuNextItem()
  292.     
  293.     print 'Ready!'
  294.  
  295. MainMenu = 0
  296.  
  297. def StartServer(menu_class):
  298.     global ACTUALMAP
  299.     if len(SELMAPS) == 0:
  300.         return None
  301.     
  302.     MainMenu.DeActivateMenuItem()
  303.     netgame.RestartNet()
  304.     print 'start server : ', netgame.StartServer(ARENANAME, PLAYERNAME, MAXPLAYERS, TCP)
  305.     ACTUALMAP = 0
  306.     SaveConfiguration()
  307.     print 'Loading ', SELMAPS[ACTUALMAP]
  308.     Bladex.LoadLevel(SELMAPS[ACTUALMAP])
  309.     netgame.SetPPS(NETPPS)
  310.     return None
  311.  
  312.  
  313. def ServerNextLevel():
  314.     global ACTUALMAP
  315.     ACTUALMAP = (ACTUALMAP + 1) % len(SELMAPS)
  316.     SaveConfiguration()
  317.     netgame.ServerChangeLevel(SELMAPS[ACTUALMAP])
  318.  
  319.  
  320. def SavePlayerConfiguration(xx = 0):
  321.     SaveConfiguration()
  322.     MainMenu.DeActivateMenuItem()
  323.  
  324.  
  325. def SaveConfiguration(xx = 0):
  326.     global SELMAPS
  327.     cfgfile = open('../../Config/NetCfg.py', 'w')
  328.     cfgfile.write('\n# The sacred file of blade is here!\n\n\n')
  329.     cfgfile.write('TCP           = ' + `TCP` + '\n')
  330.     cfgfile.write('CHARTYPE      = ' + '"' + CHARTYPE + '"' + '\n')
  331.     cfgfile.write('MODEL         = ' + `MODEL` + '\n')
  332.     cfgfile.write('HANDICAP      = ' + `HANDICAP` + '\n')
  333.     cfgfile.write('PLAYERNAME    = ' + '"' + PLAYERNAME + '"' + '\n')
  334.     cfgfile.write('ARENANAME     = ' + '"' + ARENANAME + '"' + '\n')
  335.     cfgfile.write('ARENAHANDICAP = ' + `ARENAHANDICAP` + '\n')
  336.     cfgfile.write('POWERUPS      = ' + `POWERUPS` + '\n')
  337.     cfgfile.write('MAXPLAYERS    = ' + `MAXPLAYERS` + '\n')
  338.     cfgfile.write('SELMAPS       = ' + `SELMAPS` + '\n')
  339.     cfgfile.write('ACTUALMAP     = ' + `ACTUALMAP` + '\n')
  340.     cfgfile.write('IP            = ' + '"' + IP + '"' + '\n')
  341.     cfgfile.write('FRAGLIMIT     = ' + `FRAGLIMIT` + '\n')
  342.     cfgfile.write('NETPPS        = ' + `NETPPS` + '\n')
  343.     if len(SELMAPS) == 0:
  344.         SELMAPS = [
  345.             MapsBitmaps[0][2]]
  346.     
  347.     netgame.SetLocalOptions(PLAYERNAME, Caracteres[CHARTYPE][1], Caracteres[CHARTYPE][MODEL + 2], `HANDICAP`, SELMAPS[ACTUALMAP])
  348.     cfgfile.write('\n# God bless your way, little warrior.\n\n\n')
  349.     cfgfile.close()
  350.  
  351.  
  352. def Disconnect(xx = 0):
  353.     netgame.RestartNet()
  354.     Bladex.LoadLevel('Casa')
  355.  
  356. LReadUserString = []
  357.  
  358. def ReadUserString(id, type, cad):
  359.     print 'Lee Cadena'
  360.     for f in LReadUserString:
  361.         f(id, type, cad)
  362.     
  363.  
  364. LOnStartRoundFunc = []
  365.  
  366. def OnStartRoundFunc():
  367.     print 'Inicia Round'
  368.     for f in LOnStartRoundFunc:
  369.         f()
  370.     
  371.  
  372. LOnEndRoundFunc = []
  373.  
  374. def OnEndRoundFunc():
  375.     print 'Finaliza Round'
  376.     for f in LOnEndRoundFunc:
  377.         f()
  378.     
  379.  
  380. LOnDamageFunc = []
  381.  
  382. def OnDamageFunc(entity):
  383.     for f in LOnDamageFunc:
  384.         pass
  385.     
  386.     return 0
  387.  
  388.  
  389. def SetMainMenu(_MainMenu_):
  390.     global MainMenu
  391.     MainMenu = _MainMenu_
  392.  
  393.  
  394. def GetClientPlayerId(xx):
  395.     if netgame.GetNetState() == 2:
  396.         if xx == 'Player1':
  397.             return 'PlayerX'
  398.         elif xx == netgame.GetClientId():
  399.             return 'Player1'
  400.         else:
  401.             return xx
  402.     else:
  403.         return xx
  404.  
  405.